package com.kmist.xiakexing.tools;

public class Chinesed {

    static String c_digit[] = { "零","十","百","千","万","亿","兆" };
    static String c_num[] = {"零","一","二","三","四","五","六","七","八","九","十"};

    public static String chinese_number(int i){
        if(i < 0)
            return "負" + chinese_number(-i);

        if(i < 11)
            return c_num[i];
        if (i < 20)
            return c_digit[1] + c_num[i - 10];
        if (i < 100)
        {
            if ((i % 10) != 0)
                return c_num[i / 10] + c_digit[1] + c_num[i % 10];
            else
                return c_num[i / 10] + c_digit[1];
        }
        if (i < 1000)
        {
            if (i % 100 == 0)
                return c_num[i / 100] + c_digit[2];
            else if (i % 100 < 10)
                return c_num[i / 100] + c_digit[2] +
                        c_num[0] + chinese_number(i % 100);
            else if (i % 100 < 10)
                return c_num[i / 100] + c_digit[2] +
                        c_num[1] + chinese_number(i % 100);
            else
                return c_num[i / 100] + c_digit[2] +
                        chinese_number(i % 100);
        }
        if (i < 100000000)
        {
            if (i % 10000 == 0)
                return chinese_number(i / 10000) + c_digit[4];
            else if (i % 10000 < 1000)
                return chinese_number(i / 10000) + c_digit[4] +
                        c_num[0] + chinese_number(i % 10000);
            else
                return chinese_number(i / 10000) + c_digit[4] +
                        chinese_number(i % 10000);
        }
        else
            return "";
    }
}
